package ca.intelliware.commons.virtualization;

import java.io.IOException;
import java.net.URL;
import java.util.List;

public interface Explorer {

	public void addNewCenterServer(URL centerServerUrl, String username,
			String password) throws IOException;

	public void addNewCenterServer(String centerServerUrl, String username,
			String password) throws IOException;

	public CenterServer centerServer(URL centerServerUrl) throws IOException;

	public List<CenterServer> centerServers() throws IOException;

	public String inventoryReport() throws Exception;

	public boolean containsCenterServer(URL centerServerUrl) throws IOException;

	public void revertAllVirtualMachinesToLastSnapshot() throws Exception;

	public VirtualMachineGroup virtualMachineGroup(String groupId);

	public List<VirtualMachineGroup> virtualMachineGroups();

	public List<VMachine> virtualMachine(String id) throws Exception;
}
